Computer system hardware and software is often updated, such as when users purchase a new computer system and/or a new operating system. One of the difficulties when making such a change is getting a user's documents and settings from the previous computing environment to the new computing environment, whether it is from one machine to another, or from one operating system to another on the same machine.
In general, a user's documents and settings, such as address books, folder options, dial-up networking connection settings, and the user's data, including spreadsheet and word processing documents, may be referred to as user state, state data, or simply state. Other examples of user state include display settings (wallpapers, colors, fonts), browser component settings, accessibility settings, mapped drives, network printers, and e-mail program connectivity settings. Some of this state, often specialized for a specific application, has become extremely complex.
To migrate such user state from one environment to another, users have had to manually copy documents and manually recreate the desired settings on the new environment. Enterprises that deal with a lot of such migrations are able to automate some of this process, but are required to write complex scripts in order to do so. Both of these processes are time consuming and labor intensive. For example, individual application preferences and device settings, such as those maintained in the registry, are relatively sophisticated and therefore difficult to locate and migrate. Further, not every setting in one computing environment may be valid in the other.
Certain types of narrowly-focused migration tools have been developed, however most have only very specific capabilities. For example, operating system upgrades work to upgrade one operating system version to another, but do not address other data migration scenarios. Other tools exist for configuring a machine from a network in a managed corporate environment, but are specialized tools that are not flexible migration tools.